# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Gustavo Alvarez <sl1pkn07@gmail.com>
# Contributor: Balló György <ballogyor+arch at gmail dot com>

pkgbase=marble
pkgname=(marble-common marble-qt marble-maps marble)
pkgver=23.08.3
pkgrel=1
pkgdesc='Desktop Globe'
arch=(loong64 x86_64)
url='https://apps.kde.org/marble/'
license=(GPL)
makedepends=(extra-cmake-modules gpsd kdoctools5 kparts5 krunner5 libwlocate phonon-qt5
             plasma-workspace qt5-serialport qt5-tools qt5-webengine shapelib protobuf)
source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgbase-$pkgver.tar.xz{,.sig})
sha256sums=('805e175f8ea8201eea303fe2f2359aec30fc1c0a4918f0f7ab51f6e51431c298'
            'SKIP')
validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7  # Albert Astals Cid <aacid@kde.org>
              F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87  # Christoph Feck <cfeck@kde.org>
              D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker <heiko.becker@kde.org>

build() {
  cmake -B build -S $pkgbase-$pkgver \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_INSTALL_SYSCONFDIR=/etc \
    -DCMAKE_CXX_STANDARD=17 \
    -DQT_PLUGINS_DIR=lib/qt/plugins \
    -DBUILD_TESTING=OFF \
    -DBUILD_TOUCH=ON \
    -DBUILD_MARBLE_EXAMPLES=OFF \
    -DBUILD_MARBLE_TESTS=OFF \
    -DMOBILE=OFF
  cmake --build build
}

package_marble-common() {
  pkgdesc='Common libraries and plugins for Marble'
  depends=(qt5-svg qt5-webengine phonon-qt5 protobuf)
  optdepends=('gpsd: GPS based geolocation'
              'libwlocate: WLAN based geolocation'
              'qt5-serialport: APRS plugin'
              'shapelib: SHP plugin')

  DESTDIR="$pkgdir" cmake --install build
  rm -r "$pkgdir"/usr/share/{config.kcfg,kxmlgui5,metainfo,plasma} \
        "$pkgdir"/usr/bin \
        "$pkgdir"/usr/lib/qt/{qml,plugins/*.so,plugins/kf5} \
        "$pkgdir"/usr/share/applications/{marble_geo.desktop,marble_worldwind.desktop,org.kde.marble*.desktop} \
        "$pkgdir"/usr/share/kservices5/{plasma-*,marble_part.desktop} \
        "$pkgdir"/usr/share/locale/*/LC_MESSAGES/*.mo
}

package_marble-qt() {
  pkgdesc+=' (Qt version)'
  depends=(marble-common)

  DESTDIR="$pkgdir" cmake --install build/src/apps/marble-qt
}

package_marble() {
  depends=(marble-common kparts5)
  optdepends=('krunner5: Krunner plugin')
  groups=(kde-applications kde-education)

  DESTDIR="$pkgdir" cmake --install build/src/apps/marble-kde
  DESTDIR="$pkgdir" cmake --install build/src/plasma
  DESTDIR="$pkgdir" cmake --install build/src/plasmarunner
  DESTDIR="$pkgdir" cmake --install build/src/thumbnailer
  rm -r "$pkgdir"/usr/share/{icons,doc}
}

package_marble-maps() {
  pkgdesc='OpenStreetMap Navigation'
  depends=(marble-common kirigami2)

  DESTDIR="$pkgdir" cmake --install build/src/apps/marble-maps
}
